<?php

/**
*
* functies.php : functies die gebruikt worden in het GPS systeem.
*
*/

  session_start();
	include "i_filter_functies.php";

/**
* Connectiefunctie voor de database.
* @param geen
* @return geen
*/
function connectdb()
{
	include "../db_gegevens.php";

  $DB=mysql_connect("localhost",$user,$password);
  mysql_select_db($database,$DB);
}

function mag_verder($naam,$password) {
	global $host, $port, $basedn,$groep;
	if(!empty($naam) && !empty($password)) {
		// ldap_login_check reageert met het soort gebruiker dat hoort bij de inlognaam
		$login = ldap_login_check($host,$port,$naam,$password,$basedn,$groep,true);
	  //print "$login<br/>";
		switch ($login) {
			case "gebr":
				$_SESSION['indiener']= "niet";
				$verder=true;
				break;
			case "adm":
				$_SESSION['indiener'] = $naam;
				$verder=true;
				break;
			case "gps":
				$_SESSION['indiener'] = $naam;
				$verder=true;
				break;
			default:
		
				$verder = false;
		}
	}
	$v[0]=$verder;
	$v[1]=$login;
	return $v;
}


/**
*
* Voert een schrijfquery uit en rapporteert het welslagen ervan.
*
* @param: $SQL, $boodschap
* @return: geen
*/
function schrijfdb($SQL, $boodschap)
{
	//echo $SQL;
	//echo "<br>";
	if (!mysql_query($SQL)){
		echo "het schrijven naar de database is niet gelukt!" ;
		// echo $SQL;
	}else	{
		echo $boodschap;
	}
}

/**
*
* Toontable: toont een tabel op het scherm
*
* @param: $SQL (de query), $sorteer (ja/nee), $richting (asc/desc), $layout (veldenlijst)
*
*/

function toontable($SQL, $sorteer, $richting, $layout, $pagina, $details, $wijzig, $verwijder, $gebruik="nee", $zoekstring="nnnnn"){
	$pag = $pagina;
	//De volgende regel is een handige debug regel. NIET VERWIJDEREN
	//print "De QUERY: $SQL<br />";
	ontwar($SQL,"<b>De query is: </b><br />");
	//print "Zoekstring: $zoekstring <br />"; # alleen voor debuggen
	if (($_SESSION['Debug']) AND (is_admin($_SESSION['naam']))) {
		print "<br><b>De Opties zijn:</b><br />Sorteer: $sorteer <br />Richting: $richting<br />Layout: $layout<br />Pagina: $pagina<br />Detail: $details<br />Wijzig:  $wijzig<br />Verwijder: $verwijder<br />Gebruik:  $gebruik <br />Vestiging: $vestiging<br />";
	}
	$result_id = mysql_query($SQL);

	//echo $SQL;
	if ($result_id) {
		$aantal = mysql_num_rows($result_id);
		$aantal_activiteiten = aantal_activiteiten();
	} else {
		$aantal = "" ;
		$aantal_activiteiten="" ;
	}

	// Zijn er we resultaten?
	
		// Plaatsen regel boven tabel met herstel standaard sortering knop
		echo "<form name=\"tabel\">";
		echo "<table width=\"100%\" ><tr><td align=\"left\">";
		if($sorteer=='ja'){
			print "<input type=\"Submit\" name=\"StandaardSortering\" value=\"std sortering\">";
			//toonlink("$pagina?sort=1","Herstel standaard Sortering");
		}
		if ($pagina!="m_eigen_activiteit.php") {
			if (filter_aan($_SESSION['naam'])) {
				$pagina=$_SERVER['SCRIPT_NAME'];
				print "<input type=\"Submit\" name=\"Filter_uit\" value=\"Filter UIT\">";
				//toonlink("$pagina?filteren=nee","Filter UIT zetten");
			} else {
				print "<input type=\"Submit\" name=\"Filter_aan\" value=\"Filter AAN\">";
				//toonlink("$pagina?filteren=ja","Filter AAN zetten");
			}
			//print "<input type=\"Submit\" name=\"FilterBewerken\" value=\"Filter Bewerken\">";
			rapporteer_filter_beknopt($_SESSION['naam']);
		
		}
		//filterknop();
		
		echo "</td><td align=\"right\">$aantal resultaten <span class=\"klein\">/$aantal_activiteiten</span></td></tr></table>";
		// Hoeveel kolommen zijn er in het resultaat?
		if ($result_id) {
			$column_count = mysql_num_fields($result_id);
		} else {
			$column_count = 0;
		}
		if ($aantal==0){
		echo "<br /><h5>Er zijn geen records aangetroffen die aan de gestelde voorwaarden voldoen.<br></h5>"; // . $SQL; 
		} else {

		// Tabel start
		echo "<table width=\"800\" class=\"overzicht\">";
		echo "<tr bgcolor=\"#99CC00\">";



		// KOLOMKOPPEN
		for ($column_num = 0; $column_num < $column_count ; $column_num++) {
			if ($_SESSION['rij_nrs']) {
				if ($column_num==0) {
					print "<td class=\"overzicht\" width=\"6\">#</td>";
				}
			}

			// we gaan veldnamen uitlezen en die als kolomkop plaatsen
			$veldnaam = mysql_field_name($result_id, $column_num);

			// eerst bekijken we of kolommen apart behandeld moeten worden.
			if ($veldnaam=="Id") {  # het veld met Id wordt niet getoond.
				$veldnaam= "";
				$skipnummer = $column_num;
			} elseif($veldnaam=="ParentId") {
				$veldnaam = "Relatie";
				$relkol = $column_num;
			} elseif ($veldnaam == "RelatieveVoortgang") {  # moet RelatieveVoortgang getoond worden?
				$prockol = $column_num;
				//$veldnaam="<img src=\"img/100.gif\" alt=\"voortgang\">";
			} elseif ($veldnaam == "GereedMaand") {
				$veldnaam = "Mnd";
			} elseif ($veldnaam == "GereedJaar") {
				$veldnaam = "Jaar";
			}

			// nare toevoegingen ivm rare spaties en niet afbreken.
			// op dit moment (29 april) nog niet opgelost!!
			// onderstaande oplossing is een shit oplossing. Het MOET anders.
			if ($veldnaam == "Activiteit") {
				$inkorten[$column_num] = " width=\"20\" ";
			} elseif ($veldnaam == "Resultaatgebied") {
				$inkorten[$column_num] = " width=\"20\" ";
			} elseif ($veldnaam == "Omschrijving") {
				$inkorten[$column_num] = " width=\"20\" ";
			} elseif ($veldnaam == "GewenstResultaat") {
				$inkorten[$column_num] = " width=\"20\" ";
			} elseif ($veldnaam == "PrestatieIndicatoren") {
				$inkorten[$column_num] = " width=\"20\" ";
			} elseif ($veldnaam == "Middelen") {
				$inkorten[$column_num] = " width=\"20\" ";
			} elseif ($veldnaam == "Voortgang") {
				$inkorten[$column_num] = " width=\"20\" ";
			} elseif ($veldnaam == "Status") {
				$inkorten[$column_num] = " width=\"20\" ";
			} elseif ($veldnaam == "Id") {
				$inkorten[$column_num] = " width=\"5\" ";
			} elseif ($veldnaam == "Eigenaar") {
				$inkorten[$column_num] = " width=\"15\" ";
			} elseif ($veldnaam == "RelatieveVoortgang") {
				$inkorten[$column_num] = " width=\"15\" ";
			} else {
				$inkorten[$column_num]=" width=\"10\"";
			}


			# Nu de veldnamen plaatsen
			if ($column_num!=$skipnummer) {
				if($sorteer=='ja'){
						// ook hier onder class=\"center\" s
						if ((isset($prockol)) && ($column_num==$prockol)) {
							echo "<td class=\"overzicht\" $inkorten[$column_num]><a href = \"$pagina?sort=$veldnaam&richting=$richting&layout=$layout\"><img src=\"img/100.gif\" alt=\"voortgang\"></a></td>";
						} elseif ((isset($relkol)) && ($column_num==$relkol)) {
							echo "<td width=\"10\" class=\"overzicht\"><a href = \"$pagina?sort=$veldnaam&richting=$richting&layout=$layout\">O</a></td><td width=\"30\">K</td>";						
						} else {
							echo "<td  class=\"overzicht\"$inkorten[$column_num]><a href = \"$pagina?sort=$veldnaam&richting=$richting&layout=$layout\">$veldnaam</a></td>";
						}
				} else {
						echo "<td class=\"overzicht\">$veldnaam</td>";
				}
			}
		}
		$actieknoppenstatus = actieknopstatus($_SESSION['naam']);

		echo "<td class=\"overzicht\" width=\"12\">";
		if ($actieknoppenstatus==1) {
		 echo "<em>Actie</em>";  // actieknoppen deel, opschrift uitzetten als actieknoppen uitstaan.
		 echo "<input type=\"Submit\" name=\"actieknop\" value=\"-\">";
		} else { 
		 echo "<input type=\"Submit\" name=\"actieknop\" value=\"+\">";
		}

		
		 
		echo "</td>"; #extra kolom voor actieknoppen.
		echo "</tr>";

		// RIJEN MET INHOUD ------------------------------
		$teller = 0; # nodig voor de kleurenwisseling
		WHILE ($row = mysql_fetch_row($result_id) )
		{
			//print "Debug informatie. De rij ziet er zo uit: ";
			//toon_lijst($row);
			//print "<br />";
			$PlanId = $row[0];
			$kleur = kleurwissel($teller);  # bepalen achtergrond kleur
			//Inhoud opvragen en plaatsen.
			for ($column_num = 0; $column_num < $column_count ; $column_num++)	{
				// Rijnummer alleen plaatsen als die instelling op 'Aan' staat.
				if ($_SESSION['rij_nrs']) {
					if ($column_num==0) {
						$t = $teller+1;
						echo "<td class=\"overzicht\" bgcolor=\"$kleur\"><a href=\"a_hetplan.php?Id=$PlanId\">$t</a></td>";
					}
				}


				// Als we bij de kolom met vestigingen zijn ophalen van vestigingsinformatie.
				if ((isset($prockol)) && (($column_num == $prockol) AND ($prockol > 0))) {  # RelatieveVoortgang neerzetten.
					# default waarde van $prockol is 0 en dus is er altijd een hit!
					# veronderstelling: prockol is nooit de eerste kolom!
					if ($row[$column_num] > 0) {
						$aantal = $row[$column_num]; #opvragen van de relatieve stand
						echo "<td  class=\"overzicht\" bgcolor=\"$kleur\">";
						echo "<img src=\"img/".$aantal.".gif\" title=\"$aantal%\" alt=\"$aantal %\">"; # op basis daarvan plaatje opvragen.
						echo "</td>";
					} else {
						echo "<td class=\"overzicht\" bgcolor=\"$kleur\"><img src=\"img/5.gif\" title=\"< 10%\" alt=\"< 10 %\"></td>";
					}
				} elseif ((isset($relkol)) && (($column_num == $relkol) AND ($relkol > 0))) {
					echo "<td class=\"overzicht\" bgcolor=\"$kleur\">";
					if ($row[$column_num]>0) {
							echo "<a href=\"a_hetplan.php?Id=$row[$column_num]\" title=\"Toon Planinformatie\"><img src=\"img/parent.gif\"></a>";
					} else {
							echo "&nbsp;";
					}
					echo "</td><td width=\"50\" class=\"overzicht\" bgcolor=\"$kleur\">";
					$aantal = heeft_kinderen($row[0]);
					if ($aantal > 0) {
						echo "<a href=\"a_hetplan.php?Id=$PlanId\" title=\"Toon Planinformatie\">";
						echo "<img src=\"img/child.gif\">$aantal</a>";
					} else {
						echo "&nbsp;";
					}
					echo "</td>";
				} elseif ($column_num == $skipnummer) { # Deze kolom slaan we over
						$detailid = $row[$skipnummer];
						//print "$detailid is het detailid.<br />";
			  } else  {
						echo "<td class=\"overzicht\" bgcolor=\"$kleur\">";
						if($row[$column_num] =='j')	{
							echo "<img src=\"img/ok.gif\">";
						} else if ($row[$column_num] =='n') {
							echo "&nbsp;";
						} else if ($row[$column_num] =='') {
							echo "&nbsp;";
						} else {
							// vervang $zoekstring in $detailid door <span id="zoekstring">$zoekstring</span>
							// Dit verandert de achtergrondkleur van de string waarop gezocht is!
							
							// test: zoekstring wordt goed doorgegeven.
							if($zoekstring=="nnnnn") {
								echo $row[$column_num];
							} else {
								$inhoud = stripslashes($row[$column_num]);
								// nu per onderdeel (bv a,b) van de zoekstring
								// de zoeksstring vervangen door <b>a</b> <b>b</b>.
								$zoek_lijst = explode(",",$zoekstring);
								$zoek_aantal = count($zoek_lijst);
								// test: aantal wordt goed doorgegeven.
								//toon_lijst($zoek_lijst);
								if ($zoek_aantal > 1) {
									for ($i=0; $i<$zoek_aantal; $i++) {
										$zstring = trim($zoek_lijst[$i]);
										$patroon = "/$zstring/i";
										$patroon = preg_quote($patroon,"#");
										$vervanging = '<span class="hooglicht">'.$zstring.'</span>';
										$inhoud = preg_replace($patroon,$vervanging,$inhoud);
									}
								} else {
									$zstring = trim($zoekstring);
									$patroon = "/$zstring/i";
									$patroon = preg_quote($patroon,"#");
									$vervanging = '<span class="hooglicht">'.$zstring.'</span>';
									$inhoud = preg_replace($patroon,$vervanging,$inhoud);
								}
								echo "$inhoud";
							}
						}
						
						echo "</td> \n" ;
				}
			}
			// ------------------------ACTIES---------------------------------------
			
			// De extra kolom voor de acties.
			echo "<td class=\"overzicht\" bgcolor=\"$kleur\" nowrap>";
		
			if ($actieknoppenstatus == 1) {
			
				if ($details =='ja'){
						// moet nog netter!
						if($pagina=="m_verwijderd.php"){
							  $lijst=3;
						}
						else {
							$lijst=1;
						}
					echo "<a href = \"a_details.php?id=".$detailid."&lijst=$lijst&height=600&width=800\" title=\"GPS detailkaart\" class=\"thickbox\"> <img src=\"img/details.gif\" alt=\"Details bekijken\" />";
				}
				if (bestaat_upload($detailid)) {
					echo "<img src=\"img/folder.gif\" title=\"Achtergrond document beschikbaar\" alt=\"Achtergrond document beschikbaar\" /></a>";
				} else {
					// vraag: moet de volgende regel misschien weg (om rust op de pagina te brengen)?
					echo "<img src=\"img/folder2.gif\" title=\"Geen achtergrond document beschikbaar\" alt=\"Geen achtergrond document beschikbaar\"></a>";
					echo "</a>";
				}
	
	
				if ($gebruik =='ja'){
					echo "<a href = \"m_activiteit.php?KopieVan=$detailid\"><img src=\"img/gebruik.gif\" title=\"Gebruik deze activiteit als voorbeeld\" /></a>";
					echo "<a href = \"m_activiteit.php?KindVan=$detailid\"><img src=\"img/addchild.gif\" title=\"Maak subactiviteit op basis van deze activiteit\"/></a>";
				}
				//print "$pag";
				if ($wijzig =='ja'){
					IF ($pag =="m_verwijderd.php"){
						// we zitten in de prullenbak, daar wijzigen we niet, wel zetten we evt. records terug.
						echo "<a href = \"a_pr_terug.php?id=$detailid&lijst=$lijst\"><img src=\"img/terug.png\" title=\"Terugzetten\" /> </a>";
					} ELSE {
						// we zitten in de activiteitenlijst, daar mogen we muteren.
						// op positie 0 van de resultaat rij moet dus Id staan
						$Indiener = vind_ind($row[0]);
						$Eigenaar = vind_eig($row[0]);
						$rol = tabelrol($_SESSION['naam']);// nodig voor eerste implementatie drievoudige rollen
						if (($Indiener == $_SESSION['naam']) OR ($Eigenaar == $_SESSION['naam']) OR ($rol == 3)) {
							echo "<a href=\"m_activiteit.php?id=$detailid&delta=ja\"><img src=\"img/wijzig.gif\"  title=\"wijzigen\" alt=\"Wijzigen\" /></a>";
							echo "<a href=\"a_progressactie.php?id=$detailid\"><img  src=\"img/progress.gif\" title=\"Voortgang wijzigen\" alt=\"Voortgang  invullen\" /></a>";
						} 
						/*
						else {
							echo "<img src=\"img/wijzig_no.gif\"  title=\"Niet wijzigbaar\" alt=\"Niet wijzigbaar\" />";
							echo "<img  src=\"img/progress_no.gif\" title=\"Voortgang niet wijzigbaar\" alt=\"Voortgang niet wijzigbaar\" />";
						}
						*/
					}
				}
				if ($verwijder =='ja'){
				//echo "pagina: " . $pagina;
					if ($pag=="m_verwijderd.php"){
						// We zitten in de prullenbak, we moeten evt. record echt verwijderen, dus ook subtabellen.
						echo "<a href = \"a_prweg.php?id=$detailid&lijst=$lijst\"><img src=\"img/weg.png\" title=\"echt verwijderen\" /></a>";
					}else {
						echo "<a href = \"a_wegactie.php?id=$detailid&lijst=$lijst\"><img src=\"img/weg.gif\"  title=\"verwijderen\" alt=\"Verwijderen\" /></a>";
					}
				}
			}

			$teller++;
			echo "</td></tr>";
		} // Einde actieknoppen gedeelte
		echo "</table>";
		echo "</form>";
	}
}


function kleurwissel($teller) {
	$kc = $teller % 2;
	if ($kc == 0) {
		$kleur = "#9DB3D6";
	} else {
		$kleur = "#CCE57F";
	}
	return $kleur;
}


function gekozen_velden($n) {
	$sql = "SELECT `veldkeuze` FROM gebruikers WHERE `Naam` = '$n'";
	//print "Veldkeuze query: <b>$sql</b><br>"; #debug
	$res = mysql_query($sql) or die ("Kon de veldkeuze niet ophalen: ".mysql_error()."--");
	$resultaat = mysql_fetch_array($res);
	$veldkeuze = $resultaat['veldkeuze'];
	if ($veldkeuze == "") {
		$veldkeuze = "A.Id, `Activiteit`,`Omschrijving`,`Vestiging`,`Indiener`,`Eigenaar`";
	}
	$patroon = "/`IdResultaatgebied`/";
	$vervanging = "R.Resultaatgebied";
	$veldkeuze = preg_replace($patroon,$vervanging,$veldkeuze);
	$patroon = "/`IdProgramma`/";
	$vervanging = "P.Programma";
	$veldkeuze = preg_replace($patroon,$vervanging,$veldkeuze);
	
	return $veldkeuze;
	
}

function actieknopstatus($n) {
	// status van de actieknoppen
	$sql = "SELECT `actieknoppen` FROM gebruikers WHERE `Naam` = '$n'";
	$res = mysql_query($sql) or die ("Kon de actieknoppen status niet opvragen: ".mysql_error()."--");
	$resultaat = mysql_fetch_array($res);
	$status = $resultaat[0];
	if ($status == 0) {
		return false;
	} else {
		return true; 
	}
}

function flip_actieknopstatus($n) {
	$statusnu = actieknopstatus($n);
	if ($statusnu==1) {
	    $nieuwe_status = 0;
	} else {
	    $nieuwe_status = 1;
	}
	$sql = "UPDATE `gebruikers` SET `actieknoppen` = $nieuwe_status WHERE `Naam` = '$n'";
	$res = mysql_query($sql) or die ("Kon de status niet wisselen: ".mysql_error()."--");
}



// onderstaande functie genereert een terug-button nadat fouten zijn gesignaleerd
function terug($n)
{
echo "<input type=\"submit\" name=\"terug\" value=\"Terug\" style=\"color: #093C90;  font-style: normal; font-family: verdana; font-weight: normal; font-size:12px; background-color: #99CC00\" onClick=\"javascript:history.go(-$n);\">";
}

// onderstaande functie genereert een button met een bepaald opschrift, naam en functie zijn submit!
function button($opschrift)
{
//echo "<input type=\"Submit\" name=\"Submit\" value=\"$opschrift\" class=\"submitknop\">";
echo "<input type=\"Submit\" name=\"Submit\" value=\"$opschrift\" >";
}

function reset_button($opschrift)
{
echo "<input type=\"Reset\" name=\"Reset\" value=\"$opschrift\" class=\"submitknop\">";
}
function toonlink($lnk,$ops) {
	echo "<span class=\"quasiknop\">";
	echo "<a href=\"$lnk\" >$ops</a>";
	echo "</span>";
}


function zoekuitgebreid($string ,$soortopdracht, $field){
$woord = explode("," , $string);
$aantal = count($woord);
$i=0;
$voorwaarde = "";

if ($aantal > 1){
	for ($i=0; $i<$aantal; $i++){
		IF($i==0){
			$voorwaarde .= " AND ($field like '%$woord[$i]%'";
                } ELSE IF ($i+1 == $aantal) {
                    $voorwaarde .= " $soortopdracht $field like '%$woord[$i]%')";
                } ELSE {
                    $voorwaarde .= " $soortopdracht $field like '%$woord[$i]%'";
		}
	}
} else {
	$voorwaarde = " AND ($field like '%$string%')";
}
return $voorwaarde;

}

function zoekuitgebreid_overal($string,$field){
$woord = explode("," , $string);
$aantal = count($woord);
$i=0;
$voorwaarde = "";
	if ($aantal == 1) {
		$voorwaarde .= " ($field LIKE '%$string%') ";
	} elseif ($aantal > 1) {
		for ($i=0; $i<$aantal; $i++){
			if($i==0){
				$voorwaarde .= " ($field like '%$woord[$i]%'";
      } elseif ($i+1 == $aantal) {
        $voorwaarde .= " OR $field like '%$woord[$i]%')";
      } else {
        $voorwaarde .= " OR $field like '%$woord[$i]%'";
			}
		}
	}
return $voorwaarde;

}


function noteeruitgebreid($string,$soort) {
	
	$patroon = '#,#';
	
	if ($soort=="OR") {
		$vervanging = " <u>of</u> ";
	} else {
		$vervanging = " <u>en</u> ";
	}
	
	//print "String = $string -  soort = $soort - vervanging: $vervanging<br>";
	
	$notitie = "(".preg_replace($patroon,$vervanging,$string).")";
	
	//print "Patroon = $patroon - Notitie = $notitie <br>";
	
	return $notitie;
	
}

function zoekuitgebreid_overalgetal($getal,$field){
if (is_numeric($getal)) { 
	$voorwaarde = " OR $field = $getal";
} else {
	$voorwaarde = "";
}

return $voorwaarde;

}



function print_array($lijst) {
	print "Array: $array <br />";
	print "<pre>";
	print_r($lijst);
	print "</pre><br />";

}


function voet1() {
// de rare refresh regels zijn om IE om de tuin te leiden bij refreshes
print "<tr><td colspan=\"2\"><hr><h6 align=\"center\"><a href=\"m_hoofdmenu.php\">Startscherm</a>&nbsp;&nbsp;&copy; Greijdanus 2010-2012, versie 3.1 &alpha; " ;
print "<a href = \"help/colofon.html?height=350&width=800\" title=\"GPS help\" class=\"thickbox\">Colofon</a></h6>";
print "</td></tr>";
print "</table></body>";
print "<head><head><meta http-equiv=\"pragma\" content=\"no-cache\"></head></html>";
}

function voet2() {
// de rare refresh regels zijn om IE om de tuin te leiden bij refreshes
print "<tr><td colspan =\"2\">U dient ingelogd te zijn <a href=\"index.php\">inlogscherm</a></td></tr>";
print "</table></body>";
print "<head><head><meta http-equiv=\"pragma\" content=\"no-cache\"></head></html>";
}


function aantal_activiteiten($indienr="") {
	if ($indienr=="") {
		$sql = "Select count(Id) From activiteit";
	} else {
		$sql = "Select count(Id) From activiteit where indiener = '$indienr'";
	}
	$res = mysql_query($sql);
	$resultaat = mysql_fetch_row($res);
	return ($resultaat[0]);
}

function inloggen_verplicht() {
	$sql = "SELECT * FROM `instellingen` WHERE `InstellingNaam` = 'InloggenVerplicht'";
	$resultaat = mysql_query($sql);
	$waarde = mysql_fetch_array($resultaat);
	return($waarde[0]);
	}


function is_rol($iid) {
	
	$standaard = 10; // de standaard rol mag alleen kijken!
	$IID = strtoupper($iid);
	$sql_rol = "SELECT * FROM gebruikers WHERE naam = '$iid' OR naam = '$IID'";
	$res = mysql_query($sql_rol);
	if($rij = mysql_fetch_array($res)) {
		$terug = $rij['rol'];
	} else {
		$terug = $standaard;
	}
	return $terug;
}




// Deze functie is alleen maar voor de wijzigknoppen in de tabel.
function tabelrol($iid) {
	$standaard = 10;
	//admin rol ook wijzigen van alle activiteiten?
	$sql_admin = "SELECT Instelling FROM instellingen WHERE `InstellingNaam` = 'AdminKanWijzigen'";
	$res = mysql_query($sql_admin);
	$resrij = mysql_fetch_array($res);
	$wijzigen = $resrij[0];
	// In $wijzigen staat nu Uit of Aan. Als er Uit staat wil een admin niet kunnen wijzigen in andermans plannen!
	$terug = is_rol($iid);
	
	if (($wijzigen=="Aan") AND ($terug==1)) {
		$terug = 3;
	}
	
	return $terug;
	
}

function is_admin($iid) {
	$sql_ia = "SELECT * FROM gebruikers WHERE naam = '$iid'";
	$res_ia = mysql_query($sql_ia);
	if ($rij=mysql_fetch_array($res_ia)) {
		if ($rij['rol']==1) {
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
}

function inactief_tonen($iid) {
	$sql_at = "SELECT `inactief` FROM gebruikers WHERE naam = '$iid'";
	$res_at = mysql_query($sql_at);
	$rij = mysql_fetch_array($res_at);
	if($rij[0]=="ja") {
		$tonen = true;
	} else {
		$tonen = false;
	}
	return $tonen;
	
}



function vind_eig($aid) {
			$sqli = "SELECT Eigenaar FROM `activiteit` WHERE Id = '$aid'";
			$res = mysql_query($sqli) or die ("Query 2 niet gelukt");;
			$res_ind = mysql_fetch_array($res);
			return $res_ind[0];
}

function vind_ind($aid) {
			$sqli = "SELECT Indiener FROM `activiteit` WHERE Id = '$aid'";
			$res = mysql_query($sqli) or die ("Query 2 niet gelukt");;
			$res_ind = mysql_fetch_array($res);
			return $res_ind[0];
}

function vind_indiener($gid) {
			$sqli = "SELECT Id FROM `indieners` WHERE gid = '$gid'";
			$res = mysql_query($sqli) or die ("Query niet gelukt");;
			$res_ind = mysql_fetch_array($res);
			return $res_ind[0];
}

function vind_gebruiker($gid) {
			$sqlg = "SELECT Id FROM `gebruikers` WHERE gid = '$gid'";
			$res = mysql_query($sqlg) or die ("Query niet gelukt");;
			$res_geb = mysql_fetch_array($res);
			return $res_geb[0];
}

function vind_gebruikers($inlog) {
			$sqlg = "SELECT gid,naam,rol FROM `gebruikers` WHERE naam = '$gid'";
			$res = mysql_query($sqlg) or die ("Query niet gelukt");;
			$res_geb = mysql_fetch_array($res);
			return $res_geb[0];
}

function vind_aantal_gebruikers($inlog) {
	$sql = "SELECT * FROM gebruikers WHERE naam = '$inlog'";
	$res = mysql_query($sql);
	$aantal = mysql_num_rows($res);
	return $aantal;
}




function vind_dienst($id) {
if (!empty($id)) {
			$sql = "SELECT Dienst FROM `afdelingen` WHERE Id = $id";
			$res = mysql_query($sql ) or die ("Query niet gelukt");;
			$res_aid = mysql_fetch_array($res);
			return $res_aid[0];
		} else {
			return "onbekend";
		}
}



function vind_afdelingid($naam) {
			$sql = "SELECT Id FROM `afdelingen` WHERE Functionaris = '$naam'";
			$res = mysql_query($sql ) or die ("Query niet gelukt");;
			$res_aid = mysql_fetch_array($res);
			return $res_aid[0];
}

function vind_afdeling($naam) {
			if ($indiener="Test") {
				return 99;
			} else {

				$sql = "SELECT Id FROM `afdelingen` WHERE Functionaris = '$naam'";
				//print "afdeling = $naam";
				$res = mysql_query($sql ) or die ("Query niet gelukt");;
				$res_aid = mysql_fetch_array($res);
				return $res_aid[0];
			}
}

function vind_vestiging($nr) {
    $sqlvv = "SELECT vestiging FROM vestiging WHERE Id = $nr";
    print "De query is: $sqlvv";
    $ves = mysql_query($sqlvv) or die ("Query op vestigingsnaam niet gelukt");
    $ves_res = mysql_fetch_array($ves);
    return $ves_res[0];
}


// UPLOADS.PHP


function verwerk_upload() {
	global $_FILES;
	global $_POST;
	global $uid;

	if (!empty($_FILES['upload']['name'])) {
			// kijken naar de laatste 4 of 5 tekens van de filenaam.
			$extensie5 = substr($_FILES['upload']['name'], -5);
			$extensie4 = substr($_FILES['upload']['name'], -4);

			// bepalen welke van de twee (4 of 5) relevant is.
			if (substr($extensie5,0,1)==".") {
				$extensie=$extensie5;
			} elseif (substr($extensie4,0,1)==".") {
				$extensie=$extensie4;
			} else {
				$extensie=".???";
			}

			// extensie controleren op toegestane waarden.
			switch ($extensie) {
				// deze lijst uitbreiden met alle toegestande extensies.
				case ".doc":
				case ".docx":
				case ".xls":
				case ".xlsx":
				case ".csv":
				case ".pdf":
				case ".ppt":
				case ".pptx":
				case ".zip":
				case ".rar":
				case ".txt":
					$toegestaan = true;
					break;
				default:
					$toegestaan = false;
			}

			// als extensie goedgekeurd is de upload verwerken.
			if ($toegestaan) {
				// Filenaam bepalen (inclusief het pad)
				# Hier logica toevoegen die een bestand koppelt aan een activiteit
				# basisidee:  voeg het ID nummer van de activiteit toe aan de naam van het bestand.

				$filenaam = "upload/";

				$filenaam = $filenaam .$uid."_". basename( $_FILES['upload']['name']) ;

				// Technisch controleren of het kopieren naar het doel werkt, anders foutmelding
				if (!is_uploaded_file($_FILES['upload']['tmp_name']) or !copy($_FILES['upload']['tmp_name'], $filenaam)) {
					$foutmelding = "Bestand kon niet onder de naam $filenaam gesaved worden.";
					print $foutmelding;
					exit();
				}
				return true;
		} else {
			// Dit is niet een technische fout: de extensie is niet toegestaan.
			echo "<b>Uploaden is nu niet gelukt.</b> Reden: ";
			echo "Bestandstype is onbekend.<br />Gebruik:<br />";
			echo "<ul><li>Word bestanden (.doc of .docx bestanden)</li>";
			echo "<li>Excel bestanden (.xls of .xlsx bestanden)</li>";
			echo "<li>Powerpoint bestanden (.ppt of .pptx bestanden)</li>";
			echo "<li>Adobe PDF bestanden (.pdf bestanden)</li>";
			echo "<li>CSV bestanden (.csv bestanden)</li>";
			echo "<li>Archief bestanden (.zip of .rar bestanden)</li>";
			echo "</ul>";
			return false;
		}
	}
}


// deze functie retourneert een array met filenamen van uploads die horen bij $uid
function zoek_bestanden($uid) {
	
	$filelijst = array();
	// KIJK UIT: deze wildcard is besturingssysteem afhankelijk!!
	$bs = php_uname();
	if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    // echo 'W ';
    $zoeknaam = 'upload/'.$uid.'_*';
	} else {
    // echo 'L ';
    $zoeknaam = 'upload/'.$uid.'_%';
	}
	
	
	//print "De zoeknaam is:  $zoeknaam<br />";
	foreach (glob($zoeknaam) as $filename) {
		$filelijst[] = $filename;
	}

	//print_r($filelijst);
	return $filelijst;
}


// deze functie retourneert true of false al naar gelang een $uid upload bestanden kent of niet.
function bestaat_upload($uid) {
		$zoeknaam = 'upload/'.$uid.'_*.*';
		//print "De Zoeknaam is: $zoeknaam";
		$teller = 0;
		if (glob($zoeknaam)) {
			foreach (glob($zoeknaam) as $filename) {
				$teller++;
			}
		}

		if ($teller == 0) {
			return false;
		} else {
			return true;
		}

}

// verwijdert alle uploads die horen bij een bepaald $uid
function verwijder_upload($uid) {
	$lijst = zoek_bestanden($uid);

}



// toont alle uploads (beheersscherm)
function lijst_uploads() {
	$zoeknaam = "upload/*.*";
	$lijst = glob($zoeknaam);
	$teller = 1;
	print "<table border=\"1\">";
	print "<tr><td>#</td><td>file</td><td>hoort bij..</td><td>actie</td></tr>";
	foreach ($lijst as $filenaam) {
		$actnr = substr($filenaam, 7);
		$actnr = substr($actnr, 0, 10);
		$oms=welke_activiteit($actnr);
		print "<tr><td>$teller</td><td>$filenaam</td><td>$actnr : $oms</td><td><a href=\"b_verwijder_upload.php?upl=$filenaam\">Verwijder</a></td></tr>";
		$teller++;
	}
	print "</table>";
}

function welke_activiteit($id) {
			$sql = "SELECT Activiteit FROM `activiteit` WHERE Id = '$id'";
			$res = mysql_query($sql ) or die ("Query niet gelukt");;
			$res_aid = mysql_fetch_array($res);
			return $res_aid[0];
}

function wat_van_wie($id) {
			$sql = "SELECT Activiteit FROM `activiteit` WHERE Id = '$id'";
			$res = mysql_query($sql ) or die ("Query niet gelukt");;
			$res_aid = mysql_fetch_array($res);
			return $res_aid;
}



function ontwar($l,$t="") {
	$n = $_SESSION['naam'];
	if (is_admin($n)) {
			if ((isset($_SESSION['Debug'])) && ($_SESSION['Debug'])) {
				print "<hr>";
				print "<b>Info voor admin $n: $t </b><br />";
				print "<pre>";
				print_r($l);
				print "</pre>";
				print "<hr>";
			}
	}
}

function toon_lijst($lijst,$tekst="") {
	print "<b>$tekst</b><br />";
	print "<pre>";
	print_r($lijst);
	print "</pre>";
}

function pagina_start($naam) {
	connectdb();
	$zoeken=1;
	$help="$naam";
}

function legeregels($aantal=1) {
	for ($i=1; $i<=$aantal; $i++) {
		echo "<br />";
	}

}

function is_vestiging($id) {
if ($id==0) {
	$vestiging = "onbekend";
} else {
	$sql = "Select vestiging from vestiging where id = $id";
	connectdb();
	$res = mysql_query($sql) or die ("Kan vestigingstabel niet lezen.");
	$resultaat = mysql_fetch_array($res);
	$vestiging = $resultaat[0];
}
return $vestiging;

}

function heeft_kinderen($id) {

	$sql = "SELECT count(*) FROM activiteit WHERE ParentId = $id";
	//echo $sql;
	connectdb();
	$res = mysql_query($sql) or die ("Query niet gelukt");
	$resultaat = mysql_fetch_array($res);
	$aantal = $resultaat[0];
	return $aantal;
}

function aantal_vestigingen() {
	$sql = "SELECT count(distinct(Vestiging)) FROM activiteit";
	connectdb();
	$res = mysql_query($sql) or die ("Kon de vestiginglijst niet genereren");
	$rij = mysql_fetch_array($res);
	$aantal = $rij[0];
	return $aantal;
}



function vestigingenlijst() {
	// test : ok
	$sql = "SELECT distinct(Vestiging) FROM activiteit ORDER BY Vestiging";
	connectdb();
	$res = mysql_query($sql) or die ("Kon de vestiginglijst niet genereren");
	while ($rij = mysql_fetch_array($res)) {
		if ($rij[0]!="Onbekend") $lijst[] = $rij[0];
	}
	//toon_lijst($lijst);
	return $lijst; // De lijst die hieruit rolt is in orde. "Onbekend" is geen vestiging.

}

function naam_programma($pid) {
	$sql = "SELECT Programma FROM `programma` WHERE Id = $pid";
	connectdb();
	$res = mysql_query($sql) or die ("Kon programmanaam niet vinden");
	$rij = mysql_fetch_array($res);
	return $rij[0];

}

function naam_dienst($did) {
	$sql = "SELECT Dienst FROM `afdelingen` WHERE Id = $did";
	connectdb();
	$res = mysql_query($sql) or die ("Kon afdelingsnaam niet vinden");
	$rij = mysql_fetch_array($res);
	return $rij[0];

}

function naam_resultaatgebied($rid) {
	$sql = "SELECT Resultaatgebied FROM `resultaatgebied` WHERE Id = $rid";
	connectdb();
	$res = mysql_query($sql) or die ("Kon resultaatgebied niet vinden");
	$rij = mysql_fetch_array($res);
	return $rij[0];

}

function lijst_indieners() {
    $sql = "SELECT DISTINCT(Indiener) FROM activiteit";
	connectdb();
	$res = mysql_query($sql) or die ("Kan lijst niet aanmaken");
	while ($rij = mysql_fetch_array($res)) {
		$lijst[]=$rij[0];
	}
	return $lijst;
}

function lijst_gebruikers() {
	$sql = "SELECT naam FROM gebruikers";
	connectdb();
	$res = mysql_query($sql) or die ("Kan lijst niet aanmaken");
	while ($rij = mysql_fetch_array($res)) {
		$lijst[]=$rij[0];
	}
	return $lijst;
}



function select_parent($SQL, $richting, $pagina,$verwijzer,$sorteer="ja",$zoekstring=""){
	
	//-----------debug---------------------
	ontwar($SQL,"<b>De query is: </b><br />");
	// ---------debug eind------------
	//print "Zoekstring: $zoekstring <br />"; # alleen voor debuggen
	
	// query uitvoeren
	$result_id = mysql_query($SQL);

	// resultaat verwerken
	if ($result_id) {
		$aantal = mysql_num_rows($result_id);
		$aantal_activiteiten = aantal_activiteiten();
	} else {
		$aantal = "" ;
		$aantal_activiteiten="" ;
	}

	// Zijn er we resultaten?
	if ($aantal==0){
		echo "<br /><h5>Er zijn geen records aangetroffen die aan de gestelde voorwaarden voldoen.<br></h5>"; // . $SQL;
	}	else	{

		// Plaatsen regel boven tabel met herstel standaard sortering knop
			echo "<table><tr><td align=\"left\">";
			toonlink("$pagina?sort=1","std sortering");
			echo "</td><td align=\"right\"><span align=\"right\">$aantal resultaten <span class=\"klein\">/$aantal_activiteiten</span></span></td></tr></table>";

		// Hoeveel kolommen zijn er in het resultaat?
		$column_count = mysql_num_fields($result_id);

		// Tabel start
		echo "<form action=\"$pagina\" method=\"get\">";
		echo "<input type=\"hidden\" name=\"zoekmethode\" value=\"detail\">";
		echo "<input type=\"hidden\" name=\"verwijzer\" value=\"$verwijzer\">";
		echo "<table class=\"overzicht\">";
		echo "<tr bgcolor=\"#99CC00\">";



		// KOLOMKOPPEN
		for ($column_num = 0; $column_num < $column_count ; $column_num++) {
			if ($_SESSION['rij_nrs']) {
				if ($column_num==0) {
					print "<td>Klik voor keuze</td>";
				}
			}

			// we gaan veldnamen uitlezen en die als kolomkop plaatsen
			$veldnaam = mysql_field_name($result_id, $column_num);

			// eerst bekijken we of kolommen apart behandeld moeten worden.
			if ($veldnaam=="Id") {  # het veld met Id wordt niet getoond.
				$veldnaam= "";
				$skipnummer = $column_num;
			} elseif($veldnaam=="ParentId") {
				$veldnaam = "Relatie";
				$relkol = $column_num;
			} 
			# Nu de veldnamen plaatsen
			// Hier stonden id="center" s in!! ZEER FOUT
			if ($column_num!=$skipnummer) {
				if($sorteer=='ja'){
						echo "<td ><a href = \"$pagina?sort=$veldnaam&richting=$richting&verwijzer=$verwijzer\">$veldnaam</a></td>";
				} else {
						echo "<td >$veldnaam</td>";
				}
			}
		}
		echo "<td><em>Actie</em></td>"; #extra kolom voor actieknoppen.
		echo "</tr>";

		// RIJEN MET INHOUD ------------------------------
		$teller = 0; # nodig voor de kleurenwisseling
		$kleur = kleurwissel($teller);  # bepalen achtergrond kleur
		echo "<td bgcolor=\"$kleur\"><a href=\"$verwijzer?ParentSelect=0\">selecteer ></a></td>"; 
		echo "<td bgcolor=\"$kleur\" colspan=\"7\">... geen parent selecteren... </td>"; 
		for ($column_num = 2; $column_num < $column_count ; $column_num++)	{
				// Rijnummer alleen plaatsen als die instelling op 'Aan' staat.
				if ($_SESSION['rij_nrs']) {
					if ($column_num==2) {
						$t = $teller+1;
						echo "<td bgcolor=\"$kleur\">&nbsp;</td>";
					}
				}
		}
		print "</tr><tr>";
		WHILE ($row = mysql_fetch_row($result_id) ) 	{
			$PlanId = $row[0];
			$kleur = kleurwissel($teller);  # bepalen achtergrond kleur
			//Inhoud opvragen en plaatsen.
			for ($column_num = 0; $column_num < $column_count ; $column_num++)	{
				// Rijnummer alleen plaatsen als die instelling op 'Aan' staat.
				if ($_SESSION['rij_nrs']) {
					if ($column_num==0) {
						$t = $teller+1;
						echo "<td bgcolor=\"$kleur\"><a href=\"$verwijzer?ParentSelect=$PlanId\">selecteer ></a></td>";
					}
				}


				// Als we bij de kolom met vestigingen zijn ophalen van vestigingsinformatie.
				if (($column_num == $relkol) AND ($relkol > 0)) {
					echo "<td bgcolor=\"$kleur\">";
					if ($row[$column_num]>0) {
							echo "<a href=\"a_hetplan.php?Id=$row[$column_num]\"><img src=\"img/parent.gif\"></a>";
					} else {
						echo "&nbsp;";
					}
					//print "heeft_kinderen($row[0])<br />";
					$aantal = heeft_kinderen($row[0]);
					if ($aantal > 0) {
						echo "&nbsp;&nbsp;<img src=\"img/child.gif\">$aantal";
					} else {
						echo "&nbsp;&nbsp;";
					}


					echo "</td>";
				} elseif ($column_num == $skipnummer) { # Deze kolom slaan we over
						$detailid = $row[$skipnummer];
			  } else  {
						echo "<td bgcolor=\"$kleur\">";
						if($row[$column_num] =='j')	{
							echo "<img src=\"img/ok.gif\">";
						} else if ($row[$column_num] =='n') {
							echo "&nbsp;";
						} else if ($row[$column_num] =='') {
							echo "&nbsp;";
						} else {
							// vervang $zoekstring in $detailid door <span id="zoekstring">$zoekstring</span>
							// Dit verandert de achtergrondkleur van de string waarop gezocht is!
							if ($zoekstring=="nnnnn") {
								echo "$row[$column_num]";
							} else {
							$inhoud = stripslashes($row[$column_num]);
							$patroon = "/$zoekstring/i";
							//$patroon = preg_quote($patroon,"#");
							$vervanging = '<span class="hooglicht">'.$zoekstring.'</span>';
							//echo "preg_replace($zoekstring,$vervanging,$inhoud)";
							echo preg_replace($patroon,$vervanging,$inhoud);
							}
						}
						echo "</td> \n" ;
				}
			}
			// De extra kolom voor de acties.
			echo "<td bgcolor=\"$kleur\" nowrap>";
			// details icon wordt in ieder geval geplaatst.	
			$lijst=1;		
			echo "<a href = \"a_details.php?id=$detailid&lijst=$lijst&height=600&width=800\" title=\"GPS detailkaart\" class=\"thickbox\"> <img src=\"img/details.gif\" alt=\"Details bekijken\" />";
			$teller++;
			echo "</td></tr>";
		}
		echo "</table>";
		echo "</form>";
	}
}

function maak_schoon($s) {
	return trim($s);
}

function trim_request() {
	global $_REQUEST;
	foreach ($_REQUEST as $key=>$value) {
		$_REQUEST[$key]=trim($_REQUEST[$key]," ");
	}

}

function enof_filter($veld,$veldstand) {
					//print "<br>Parameters: $veld, $veldstand<br />";#debug
					$en="";
					$of="";
                    if ($veldstand=="OR") { $of = "checked"; }
                    if ($veldstand=="AND") { $en = "checked"; }
                    echo "<span class=\"klein\">";
					echo "<input type=\"radio\" name=\"$veld\" value=\"AND\" $en >En";
					echo "<input type=\"radio\" name=\"$veld\" value=\"OR\" $of >Of (default)";
					echo "</span>";

}


function titel_van($aid,$waar="normaal") {
	if ($waar=="normaal") {
		$SQL = "SELECT Activiteit FROM activiteit WHERE id = $aid";
	} else { 
		$SQL = "SELECT Activiteit FROM prullenbak WHERE id = $aid";
	}
	
	//print "$SQL"; # alleen bij debuggen (header fout)
	connectdb();
	$res = mysql_query($SQL) or die ("Kan Activiteit niet vinden");
	$tit = mysql_fetch_array($res);
	return $tit[0];
	
}




function indiener_van($aid, $waar="normaal") {
	if ($waar=="normaal") {
		$SQL = "SELECT Indiener FROM activiteit WHERE id = $aid";
	} else {
		$SQL = "SELECT Indiener FROM prullenbak WHERE id = $aid";
	}
	
	//print "$SQL"; # alleen bij debuggen (header fout)
	connectdb();
	$res = mysql_query($SQL) or die ("Kan Indiener niet vinden");
	$ind = mysql_fetch_array($res);
	return $ind[0];

}

function toon_query($q) {
	$patroon1 = "/SELECT/";
	$vervanging1 = "<b>SELECT</b>";
	preg_replace($patroon1,$vervanging1,$q);
	$patroon2 = "/FROM/";
	$vervanging2 = "<b>FROM</b>";
	preg_replace($patroon2,$vervanging2,$q);
	$patroon3 = "/WHERE/";
	$vervanging3 = "<b>WHERE</b>";
	preg_replace($patroon3,$vervanging3,$q);
	$patroon4 = "/ORDER BY/";
	$vervanging4 = "<b>ORDER BY</b>";
	preg_replace($patroon4,$vervanging4,$q);
	echo "$q";
}

function toon_specifiek($q) {
	foreach ($q as $key=>$value) {
		echo "<b>$key</b> = $value<br />";
	}
	
}

function bewaar_laatste($sql,$user) {
	$sql = addslashes($sql);
	$query = "UPDATE user_filters SET laatste = '$sql' WHERE gebruiker = '$user'";
	connectdb();
	//print "Laatste Query: $query <br>";
	$res = mysql_query($query) or die ("Kan laatste query niet opslaan");
}

function lees_gegevens($gid) {
	$sql = "SELECT * FROM `activiteit` WHERE Id = $gid";
	connectdb();
	$res = mysql_query($sql) or die("Kan de gegevens niet vinden.");
	$gegevens = mysql_fetch_assoc($res);
	//toon_lijst($gegevens,"In functies<br />");
	return $gegevens;
}

function naarSession($gegevens) {
	$_SESSION['request'] = array();
	$_SESSION['request'] = $gegevens;
}


function logGebruiker($naam,$soort,$vandaag) {
	
$SQL = "insert into inlog (Naam, Soort, Datum) Values ( '$naam' , '$soort' , '$vandaag')";
				$boodschap = "";
				schrijfdb($SQL,$boodschap);
}

function startHoofdmenu() {
	if (headers_sent()) {
					echo "<script language=\"JavaScript\">";
					echo "document.location='m_hoofdmenu.php'";
					echo "</script>";
	} else {
					header("location: m_hoofdmenu.php");
	}
}



function maand_naam($nr) {
	switch($nr) {
		case 1:
			$maand = "januari";
			break;
		case 2:
			$maand = "februari";
			break;
		case 3:
			$maand = "maart";
			break;
		case 4:
			$maand = "april";
			break;
		case 5:
			$maand = "mei";
			break;
		case 6:
			$maand = "juni";
			break;
		case 7:
			$maand = "juli";
			break;
		case 8:
			$maand = "augustus";
			break;
		case 9:
			$maand = "september";
			break;
		case 10:
			$maand = "october";
			break;
		case 11:
			$maand = "november";
			break;
		case 12:
			$maand = "december";
			break;
		default:
			$maand = "--";
		}
		
		return ($maand);
	
}



?>
